package TDALista;
/**
 * Class DNode.
 * @author Montero Alvarez Mario Joaquin 
 * @author Alvarez Morgade Facundo
 */

public class DNode<E> implements Position<E>{
	
	protected E elemento;
	protected DNode next,prev;
	/**
	 * Crea un nodo doble enlazado(DNode).
	 * @param e elemento del DNode.
	 * @param p DNode previo.
	 * @param n DNode siguiente.
	 */
	public DNode(E e,DNode p,DNode n){
		elemento=e;
		prev=p;
		next=n;
		
	}
	/**
	 * Devuelve el elemento de este nodo.
	 * @return elemento del nodo.
	 */
	public E getElement(){
		return elemento;
	}
	/**
	 * Devuelve el DNode siguiente de este nodo.
	 * @return DNode siguiente de este nodo.
	 */
	public DNode getNext(){
		return next;
	}
	/**
	 * Devuelve el DNode previo de este nodo.
	 * @return DNode previo de este nodo.
	 */
	public DNode getPrev(){
		return prev;
	}
	/**
	 * Establece el elemento de este nodo.
	 * @param e elemento tipo E que se quiere establecer.
	 */
	public void setElement(E e){
		elemento=e;
	}
	/**
	 * Establece el DNode previo a este nodo.
	 * @param p DNode que se quiere establecer.
	 */
	public void setPrev(DNode<E> p){
		prev=p;
	}
	/**
	 * Establece el DNode siguiente a este nodo.
	 * @param n DNode que se quiere establecer.
	 */
	public void setNext(DNode<E> n){
		next=n;
	}
	/**
	 * Devuelve el elemento de este nodo.
	 * @return elemento del nodo.
	 */
	public E element(){
		return elemento;
	}
}